Colin Walters [Mon, 25 Aug 2025 12:49:34 +0000 (08:49 -0400)]
configure: Post-release version bump
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Mon, 25 Aug 2025 12:46:57 +0000 (08:46 -0400)]
Release 2025.5
Signed-off-by: Colin Walters <walters@verbum.org>
Joseph Marrero Corchado [Thu, 21 Aug 2025 16:08:02 +0000 (12:08 -0400)]
Merge pull request #3507 from cgwalters/aboot-chdir
aboot: Use fd and not absolute path
Joseph Marrero Corchado [Thu, 21 Aug 2025 14:04:48 +0000 (10:04 -0400)]
Merge pull request #3508 from cgwalters/switchroot-journal
prepare-root: Log to journal, not stdout
Colin Walters [Wed, 20 Aug 2025 13:51:10 +0000 (15:51 +0200)]
prepare-root: Log to journal, not stdout
Since this can now be used as part of the shared library for
soft reboots, we shouldn't have a library write to stdout.
I noticed this in bootc. Use the journal instead.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 19 Aug 2025 13:16:35 +0000 (15:16 +0200)]
aboot: Use fd and not absolute path
Motivated by https://github.com/bootc-dev/bootc/pull/1532/commits/
6d2eb2aaa92e23f434c47e3d0ebadc0307d45289
(We need to have a shared helper for this stuff at some point)
Colin Walters [Tue, 19 Aug 2025 13:10:24 +0000 (15:10 +0200)]
Merge pull request #3506 from cgwalters/adapt-cosa
ci: Adapt to cosa change
Colin Walters [Tue, 19 Aug 2025 09:47:53 +0000 (11:47 +0200)]
ci: Adapt to cosa change
It seems to have stopped building qemu by default.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 19 Aug 2025 07:10:29 +0000 (09:10 +0200)]
Merge pull request #3504 from champtar/syncfs-ostree
deploy: call syncfs() for /ostree instead of /
Etienne Champetier [Mon, 18 Aug 2025 21:41:37 +0000 (17:41 -0400)]
deploy: call syncfs() for /ostree instead of /
In full_system_sync we were calling syncfs(/) expecting
all the recent modification in /ostree to be synced to disk.
With / now being composefs, syncfs(/) is a noop, so call
syncfs(/ostree) as that is what we really want.
Colin Walters [Wed, 6 Aug 2025 15:40:45 +0000 (11:40 -0400)]
Merge pull request #3494 from alexlarsson/remove-aboot-dead-code
deploy: Remove some dead aboot code
Alexander Larsson [Wed, 6 Aug 2025 13:06:25 +0000 (15:06 +0200)]
deploy: Remove some dead aboot code
The code in get_kernel_from_tree_usrlib_modules() that checks for an
"aboot.cfg" does nothing with it (and in fact may leak the fd in case
its there). In practice, /usr/lib/modules never has an aboot.cfg, so
this is just completely dead code.
Signed-off-by: Alexander Larsson <alexl@redhat.com>
Colin Walters [Wed, 6 Aug 2025 12:25:53 +0000 (08:25 -0400)]
Merge pull request #3493 from alexlarsson/fix-aboot-updates
deploy: Fix path to aboot.cfg in BLS files
Alexander Larsson [Wed, 6 Aug 2025 10:16:34 +0000 (12:16 +0200)]
deploy: Fix path to aboot.cfg in BLS files
The change in https://github.com/ostreedev/ostree/pull/3413/ was meant
to change when the abootcfg option is set in the BLS file. However,
it also changed the value of this key, using the wrong directory
(bootcsumdir instead of /usr/lib/ostree-boot).
This means that during update, aboot-update gets the wrong path to the
config and cannot correctly write the aboot partition.
Signed-off-by: Alexander Larsson <alexl@redhat.com>
Colin Walters [Thu, 24 Jul 2025 17:21:55 +0000 (13:21 -0400)]
Merge pull request #3487 from cgwalters/soft-reboot-boot-mnt
soft-reboot: Also handle /boot
Colin Walters [Tue, 22 Jul 2025 21:38:41 +0000 (17:38 -0400)]
soft-reboot: Also handle /boot
Closes: https://github.com/ostreedev/ostree/issues/3486
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 22 Jul 2025 20:41:49 +0000 (16:41 -0400)]
switchroot: Refactor /boot mounting into helper function
So it can be shared with soft reboots.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 24 Jul 2025 12:56:04 +0000 (08:56 -0400)]
Merge pull request #3485 from cgwalters/test-boot-bind
tests: verify /boot mount with prepare root
Colin Walters [Tue, 22 Jul 2025 21:17:05 +0000 (17:17 -0400)]
tests-unit-container: Verify /boot mount point
Prep for further changes.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 22 Jul 2025 21:16:39 +0000 (17:16 -0400)]
justfile: Add a target to iterate on container unit tests quickly
We need to split these into two container builds probably...
Colin Walters [Tue, 22 Jul 2025 20:55:09 +0000 (16:55 -0400)]
tests: Fix negative check for transient etc
This test was passing for the wrong reason. Just noticed when
reviewing.
Colin Walters [Tue, 22 Jul 2025 15:36:01 +0000 (11:36 -0400)]
Merge pull request #3484 from cgwalters/bump-sys
Two rust patches
Colin Walters [Tue, 22 Jul 2025 14:52:45 +0000 (10:52 -0400)]
rust: Fix a few warnings
- Unused imports because we weren't actually exporting the structs
from those modules
- glib prelude is empty now?
- mount namespace usage is conditional
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 22 Jul 2025 14:48:28 +0000 (10:48 -0400)]
rust: Bump sys crate version too
Should have happened in the other PR.
Colin Walters [Tue, 22 Jul 2025 14:07:09 +0000 (10:07 -0400)]
Merge pull request #3479 from cgwalters/test-etc-transient
tests: Add a test case for etc.transient
Colin Walters [Tue, 22 Jul 2025 14:03:53 +0000 (10:03 -0400)]
Merge pull request #3482 from cgwalters/release-rust
rust: Regenerate and release 0.20.4
Colin Walters [Tue, 22 Jul 2025 14:03:30 +0000 (10:03 -0400)]
Merge pull request #3481 from cgwalters/release
Release 2025.4
Colin Walters [Mon, 21 Jul 2025 20:50:24 +0000 (16:50 -0400)]
configure: post-release version bump
Colin Walters [Mon, 21 Jul 2025 20:46:51 +0000 (16:46 -0400)]
Release 2025.4
Colin Walters [Mon, 21 Jul 2025 21:01:04 +0000 (17:01 -0400)]
rust: Regenerate and release 0.20.4
This ensures we actually pick up the changes for `Since`.
Colin Walters [Mon, 21 Jul 2025 20:36:50 +0000 (16:36 -0400)]
tests: Add a test case for etc.transient
This would have caught https://github.com/ostreedev/ostree/issues/3476
Colin Walters [Mon, 21 Jul 2025 16:45:51 +0000 (12:45 -0400)]
Merge pull request #3473 from cgwalters/root-transient-ro
Add root.transient-ro
Colin Walters [Mon, 21 Jul 2025 01:21:59 +0000 (21:21 -0400)]
Merge pull request #3477 from wsabransky/patch-1
ostree-prepare-root: remove duplicate transient directory
Will Sabransky [Sun, 20 Jul 2025 22:05:44 +0000 (17:05 -0500)]
ostree-prepare-root: remove duplicate transient directory
Only create the transient etc directory once to prevent failures due to directory existence.
Colin Walters [Sun, 20 Jul 2025 19:51:55 +0000 (15:51 -0400)]
Merge pull request #3475 from cgwalters/fix-since-annotations
Fix since annotations && update rust bindings
Colin Walters [Fri, 18 Jul 2025 19:11:15 +0000 (15:11 -0400)]
rust-bindings: Regenerate with updated gir
In particular we had a conflict as the previous bindings
were generated with an old version of the C APIs.
Colin Walters [Fri, 18 Jul 2025 19:03:27 +0000 (15:03 -0400)]
sysroot: Fix Since: for soft reboot APIs
We should really have a CI gate for this...
Colin Walters [Wed, 16 Jul 2025 15:08:00 +0000 (11:08 -0400)]
Add root.transient-ro
An example use case for this is having privileged code
add dynamic new toplevel mountpoints (that don't persist across
reboots/upgrades), while still keeping the rootfs readonly
for processes by default.
Closes: https://github.com/ostreedev/ostree/issues/3471
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 16 Jul 2025 20:07:12 +0000 (16:07 -0400)]
Merge pull request #3472 from cgwalters/root-transient-ro-prep
Prep patches for rootfs.transient-ro
Colin Walters [Wed, 16 Jul 2025 17:18:58 +0000 (13:18 -0400)]
prepare-root: Move root.transient parsing rootfs parsing
This deduplicates more code between main boot and soft reboot,
and is prep for supporting `rootfs.transient-ro = true`.
Colin Walters [Wed, 16 Jul 2025 16:56:49 +0000 (12:56 -0400)]
prepare-root: Rename `enabled` -> `composefs_enabled`
Prep for moving more functionality there, it's really about
the rootfs, not just composefs.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 16 Jul 2025 16:56:49 +0000 (12:56 -0400)]
prepare-root: Rename rootfs variables
Prep for moving more functionality there, it's really about
the rootfs, not just composefs.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 16 Jul 2025 16:56:49 +0000 (12:56 -0400)]
prepare-root: Rename rootfs loading functions
Prep for moving more functionality there, it's really about
the rootfs, not just composefs.
Colin Walters [Tue, 15 Jul 2025 11:55:26 +0000 (07:55 -0400)]
Merge pull request #3470 from cgwalters/build-dist-test-scripts
build-sys: Always EXTRA_DIST test scripts
Colin Walters [Mon, 14 Jul 2025 19:36:42 +0000 (15:36 -0400)]
build-sys: Always EXTRA_DIST test scripts
Fixes the case of doing `make dist` without some
build features enabled.
Closes: https://github.com/ostreedev/ostree/issues/3469
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 10 Jul 2025 16:48:50 +0000 (12:48 -0400)]
Merge pull request #3455 from jmarrero/bindings
rust: Add v2025_3 feature and bump versions
Joseph Marrero Corchado [Thu, 10 Jul 2025 16:23:42 +0000 (12:23 -0400)]
Merge pull request #3468 from jmarrero/release-20253
Release 2025.3
Joseph Marrero Corchado [Thu, 10 Jul 2025 14:04:16 +0000 (10:04 -0400)]
configure: post-release version bump
Joseph Marrero Corchado [Thu, 10 Jul 2025 14:02:00 +0000 (10:02 -0400)]
Release 2025.3
Colin Walters [Thu, 10 Jul 2025 11:24:06 +0000 (07:24 -0400)]
Merge pull request #3310 from igoropaniuk/boot_count
sysroot: Support boot counting for boot entries
Igor Opaniuk [Wed, 11 Sep 2024 16:03:10 +0000 (18:03 +0200)]
sysroot: Support boot counting for boot entries
Add support for boot counting for bootloader entries [1].
The boot counting data is stored in the name of the boot loader entry.
A boot loader entry file name may contain a plus (+) followed by a number.
This may optionally be followed by a minus (-) followed by a second number.
The dot (.) and file name suffix (conf or efi) must immediately follow.
The feature is enabled via sysroot configuration:
[sysroot]
boot-counting-tries=3
Testing:
$ ostree admin deploy
91fc19319be9e79d07159303dff125f40f10e5c25614630dcbed23d95e36f907
Copying /etc changes: 2 modified, 3 removed, 4 added
bootfs is sufficient for calculated new size: 0 bytes
Transaction complete; bootconfig swap: yes; bootversion: boot.0.1, deployment count change: 1
$ ls /boot/loader/entries
ostree-1.conf ostree-2+3.conf
[1] https://uapi-group.org/specifications/specs/boot_loader_specification/#boot-counting
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Signed-off-by: Colin Walters <walters@verbum.org>
Joseph Marrero Corchado [Thu, 10 Jul 2025 02:24:04 +0000 (22:24 -0400)]
Merge pull request #3467 from cgwalters/config-set-validate
repo: Add new API to write config with reload+validation
Colin Walters [Wed, 9 Jul 2025 22:30:10 +0000 (18:30 -0400)]
Merge pull request #3465 from cgwalters/soft-reboot-kargs-check
Soft reboot kargs check
Colin Walters [Wed, 9 Jul 2025 22:04:08 +0000 (18:04 -0400)]
repo: Add new API to write config with reload+validation
The `ostree config set` CLI should really disallow
writing invalid values. To implement that, add a new
API that also *reloads* to the new config, and
rolls back on failure.
Closes: https://github.com/ostreedev/ostree/issues/1827
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 9 Jul 2025 19:21:56 +0000 (15:21 -0400)]
soft-reboot: Check for kernel argument changes
This closes a drift gap possibility.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 9 Jul 2025 18:01:50 +0000 (14:01 -0400)]
Merge pull request #3463 from cgwalters/ci-bootc-c10s
ci: Expand bootc testing to cover c10s
Joseph Marrero Corchado [Mon, 30 Jun 2025 19:21:34 +0000 (15:21 -0400)]
rust-bindings: update for soft-reboot
Joseph Marrero Corchado [Fri, 27 Jun 2025 15:16:57 +0000 (11:16 -0400)]
rust: Add v2025_3 feature and bump versions
Colin Walters [Wed, 9 Jul 2025 17:28:18 +0000 (13:28 -0400)]
tests: Verify soft reboot with changed kernel state
Colin Walters [Wed, 9 Jul 2025 13:51:20 +0000 (09:51 -0400)]
Merge pull request #3464 from cgwalters/man-drop-authorgroup
docs: Remove <authorgroup>
Colin Walters [Tue, 8 Jul 2025 22:26:26 +0000 (18:26 -0400)]
docs: Remove <authorgroup>
We've just been copy pasting this; for some commands it's
true, but others have been written by other people. Most of
the commands just call into the library code which is written
by various people.
Because it isn't really accurate, just drop it.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 8 Jul 2025 17:03:34 +0000 (13:03 -0400)]
Merge pull request #3460 from cgwalters/soft-reboot-followups3
soft-reboot: Many changes
Colin Walters [Mon, 30 Jun 2025 21:07:18 +0000 (17:07 -0400)]
soft-reboot: Many changes
- Add --reboot and --reset arguments
- Don't compile on centos stream 9 (missing `open_tree` glibc wrapper)
as the functionality isn't supported by systemd there; that said
we should also do dynamic detection
- Fix /sysroot writability
- If we target as soft reboot a deployment
*other* than the staged one, automatically clear the staged
deployment as otherwise the semantics are too confusing.
- Rename the APIs so they all say `soft_reboot` and not `next_root`
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 8 Jul 2025 00:50:45 +0000 (20:50 -0400)]
ci: Expand bootc testing to cover c10s
Because it's an active development target.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Mon, 7 Jul 2025 14:58:54 +0000 (10:58 -0400)]
Merge pull request #3461 from cgwalters/sysroot-deploy-cleanup
deploy: Don't create deployment object before deploying
Colin Walters [Tue, 1 Jul 2025 18:38:10 +0000 (14:38 -0400)]
deploy: Don't create deployment object before deploying
Just pass the bits of the new deployment we want down into the
checkout function. This lets us reuse the common helper
to init a deployment which now always captures the device/inode.
Followup from previous commit.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 1 Jul 2025 18:20:23 +0000 (14:20 -0400)]
Merge pull request #3456 from cgwalters/soft-reboot-followups2
sysroot: Remove now-spurious assertion change from soft reboot changes
Colin Walters [Tue, 1 Jul 2025 18:17:05 +0000 (14:17 -0400)]
Merge pull request #3459 from cgwalters/deployments-cache-devino
sysroot: Cache deployment device/inode
Colin Walters [Tue, 1 Jul 2025 18:16:34 +0000 (14:16 -0400)]
Merge pull request #3457 from cgwalters/deploy-quiet-systemctl
deploy: Default quiet for forked systemctl
Colin Walters [Tue, 1 Jul 2025 14:54:52 +0000 (10:54 -0400)]
sysroot: Cache deployment device/inode
This is a lot cleaner. In particular, it's prep
for having soft reboot finalize at shutdown time, because
we weren't correctly handling the staged deployment in
that case.
To implement this we need to basically stop using
ostree_deployment_new() in most places, and instead ensure that all
callers use this path which cache the device/inode.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Mon, 30 Jun 2025 20:34:11 +0000 (16:34 -0400)]
deploy: Default quiet for forked systemctl
I'm checking over the codebase for places we fork children; doing
so from a library means we may end up printing to stdout/stderr
of our caller, which we shouldn't do.
- Also add an error prefix with information about the service
if we fail
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Mon, 30 Jun 2025 19:36:32 +0000 (15:36 -0400)]
sysroot: Remove now-spurious assertion change from soft reboot changes
We fixed the bug that caused soft reboot to trip the assertion
here, so revert back to a hard check.
Colin Walters [Fri, 27 Jun 2025 17:27:55 +0000 (13:27 -0400)]
Merge pull request #3453 from cgwalters/staged-status-json
status: Add more tests for json
Colin Walters [Fri, 27 Jun 2025 13:30:26 +0000 (09:30 -0400)]
Merge pull request #3450 from cgwalters/justfile-more
justfile: enhancements
Colin Walters [Fri, 27 Jun 2025 13:26:23 +0000 (09:26 -0400)]
Merge pull request #3452 from cgwalters/soft-reboot-followup
status: Add `soft-reboot-target` to JSON
Colin Walters [Fri, 27 Jun 2025 01:02:03 +0000 (21:02 -0400)]
status: Add more tests for json
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 26 Jun 2025 21:57:58 +0000 (17:57 -0400)]
status: Add `soft-reboot-target` to JSON
It's there in the human readable status.
And update the soft-reboot test suite to assert things via
JSON since it's *way* cleaner.
Joseph Marrero Corchado [Thu, 26 Jun 2025 21:34:48 +0000 (17:34 -0400)]
Merge pull request #3420 from jmarrero/builds-soft
ot-builtin-admin: Add admin prepare-soft-reboot
Colin Walters [Wed, 25 Jun 2025 17:39:48 +0000 (13:39 -0400)]
build-sys: Move clang-format into justfile
We don't need a build to run it, it's more appropriate
there.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 26 Jun 2025 17:00:04 +0000 (13:00 -0400)]
Merge pull request #3451 from cgwalters/emit-json
status: Add --json output
Colin Walters [Wed, 18 Jun 2025 19:10:53 +0000 (15:10 -0400)]
Add ostree admin prepare-soft-reboot
This adds support for systemd soft reboots.
Closes: https://github.com/ostreedev/ostree/issues/3242
Signed-off-by: Colin Walters <walters@verbum.org>
Co-authored-by: Joseph Marrero Corchado <jmarrero@redhat.com>
Co-authored-by: Mary Strodl <ipadlover8322@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 25 Jun 2025 18:14:58 +0000 (14:14 -0400)]
admin: Expand column for subcommands
Prep for soft reboot.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 21:14:54 +0000 (17:14 -0400)]
prepare-root: Use tempdir for transient etc backing
Prep for soft reboots.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 26 Jun 2025 13:59:28 +0000 (09:59 -0400)]
status: Add --json output
This is way long overdue, and will be useful for a variety of things
but is especially motivated by soft reboot testing.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 26 Jun 2025 11:52:20 +0000 (07:52 -0400)]
jsonwrt: Integration fixups
This gets the code to build without the rest of util-linux.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 26 Jun 2025 11:48:38 +0000 (07:48 -0400)]
Import jsonwrt code from util-linux
We've had a longstanding need to emit JSON to be friendlier
to shell scripting tools.
I hesitated for (way too long) on which JSON libraries to
use, but actually since we don't need to *parse* JSON,
we only need to omit it, the problem domain is super
simple.
util-linux has simple code for this
https://github.com/util-linux/util-linux/commit/
b649ff92d2d91864e85a5bba4c89d52236817d9e
So this commit imports it, but it will need a little massaging
to build.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 17 Jun 2025 22:11:46 +0000 (18:11 -0400)]
justfile: Accept args, add build-host shortcuts
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 25 Jun 2025 13:24:39 +0000 (09:24 -0400)]
Merge pull request #3449 from cgwalters/fix-validate-sig-overwrite
prepare-root: Fix error overwrite
Joseph Marrero Corchado [Wed, 25 Jun 2025 13:24:15 +0000 (09:24 -0400)]
Merge pull request #3448 from cgwalters/refactor-prepare-root-etc
prepare-root: Some prep PRs
Colin Walters [Tue, 24 Jun 2025 20:39:00 +0000 (16:39 -0400)]
prepare-root: Move /etc handling into library
Prep for soft reboots.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 20:47:14 +0000 (16:47 -0400)]
prepare-root: Fix error overwrite
An AI code review tool spotted incorrect usage of GError. Awesome.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 20:29:45 +0000 (16:29 -0400)]
prepare-root: Move metadata for root transient into lib
Prep for soft reboots.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 20:08:29 +0000 (16:08 -0400)]
prepare-root: Move metadata for deployment into otcore
- Rename `mount_composefs` to `mount_rootfs` to make a little clearer
what it does; even though if the rootfs is not composefs we don't
do anything before.
- But do always unconditionally update the metadata builder with
the device/inode
Prep for soft reboots.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 18:49:32 +0000 (14:49 -0400)]
Merge pull request #3447 from cgwalters/prepare-root-sysroot-prep
prepare-root: Don't hardcode sysroot
Colin Walters [Tue, 24 Jun 2025 15:14:41 +0000 (11:14 -0400)]
prepare-root: Don't hardcode sysroot
Follow to previous change to factor out composefs mounting;
prep for soft reboots.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 14:35:50 +0000 (10:35 -0400)]
Merge pull request #3445 from cgwalters/prepare-root-prep
prepare-root: Factor out composefs handling into otcore
Colin Walters [Thu, 19 Jun 2025 11:42:48 +0000 (07:42 -0400)]
prepare-root: Factor out composefs handling into otcore
I'm thinking about creating ostree-prepare-soft-reboot.c.
Prepare for this by factoring out shared helper functions.
Colin Walters [Sat, 14 Jun 2025 06:41:22 +0000 (02:41 -0400)]
Merge pull request #3443 from cgwalters/readme-tweak
rust: Tweaks for README.md
Colin Walters [Sat, 14 Jun 2025 05:28:22 +0000 (07:28 +0200)]
rust: Tweaks for README.md
Mostly an excuse to publish a new crate to test that
regenerating the docs works.
Colin Walters [Thu, 5 Jun 2025 00:42:06 +0000 (20:42 -0400)]
Merge pull request #3439 from cgwalters/update-dockerfile
ci: Rework Dockerfile, add Justfile and improved testing